Sharing profile data between telecommunication devices

ABSTRACT

A telecommunications device and/or service enable a user to establish and maintain a profile which is then associated with the user or the user&#39;s telecommunication device (the “calling device”). The profile is stored on a profile server that is in communication with the telecommunications service provider. A receiving device receives a call from the calling device and is provided with the profile during call set-up. Some or all of the profile is used in connection with the incoming call on the receiving device.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the field of telecommunications, andmore particularly to sharing profile data between users oftelecommunications devices.

2. Description of Related Art

People today make widespread use of telecommunications equipment. Nearlyevery family in this country has at least conventional wired telephoneservice, and very many also have wireless telecommunications service.Telephone calls are made so frequently that it is a routine part of manypeople's day.

One feature, caller ID, has become so popular that manytelecommunications customers insist on having it. The knowledge of whois calling before answering a phone call is all important to manypeople. When caller ID was originally created, only the caller's phonenumber was visible to the receiving party. Later, the calling party'sname was added. However, until now, technological limitations andpossibly a lack of imagination prevented further developments incommunicating information about the calling party to the receivingparty.

An alternative method and mechanism for communicating information abouta calling party to a receiving party has eluded those skilled in theart, until now.

SUMMARY OF THE INVENTION

The invention is directed to telecommunications devices and servicesthat enable a calling party (the “caller”) to establish and maintain aprofile that includes information that can be transmitted to a receivingparty's (the “receiver”) handset during call set-up to announce theincoming call from the caller. In one aspect, a method is provided formaking profile data available to receiving devices. The method includesestablishing a data connection with a profile server, the profile serverbeing accessible by a remote device over a telecommunications network.The method further includes creating a profile at the profile server,the profile including profile data, the profile being associated with acalling device. The method still further includes instructing thetelecommunications network to make the profile data available to theremote device in response to a call to the remote device over thetelecommunications network from the calling device.

In another aspect, a method is provided for receiving profile data abouta calling device at a receiving device. The method includes receivingcall data associated with an incoming call, the call data including anidentifier for the calling device. The method further includesinitiating a data session with a profile server, and querying theprofile server for a profile associated with the calling device usingthe identifier, the profile containing the profile data. The methodstill further includes retrieving the profile data from the profileserver, and using the profile data in connection with the incoming call.An apparatus is also envisioned that is configured to implement thismethod.

In yet another aspect, a method is provided for facilitating thedelivery of profile data about a calling device to a receiving device.The method includes receiving a request to establish a call from thecalling device to the receiving device, and notifying the receivingdevice about the call, the notification including an identifier for thecalling device. The method further includes receiving a request from thereceiving device for profile data associated with the calling devicebased on the identifier. The method still further includes accessing aprofile corresponding to the identifier to retrieve the profile data,and returning the profile data to the receiving device. An apparatus isalso envisioned that is configured to implement this method.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram generally illustrating a samplemobile device in which implementations of the invention are particularlyapplicable.

FIG. 2 is a functional block diagram illustrating in slightly greaterdetail the storage medium loaded with data that is employed by certainimplementations of the invention.

FIG. 3 is a conceptual illustration of a system that implements theinvention to enable a call originating device to direct the announcementthat is made on a call receiving device when a call is received from theoriginating device.

FIG. 4 is a functional block diagram generally illustrating a samplemessage format that may be used in implementations of the invention.

FIG. 5 in an operational flow diagram generally illustrating oneimplementation of a process performed on a call originating device forassociating particular call announcements to be played on a receivingdevice when receiving calls from the originating device.

FIG. 6 is an operational flow diagram generally illustrating a processfor announcing an incoming call using a call announcement identified bythe device originating the call.

FIG. 7 is an operational flow diagram illustrating in slightly greaterdetail a process for announcing an incoming call with a particular callannouncement as requested by the originating device.

FIG. 8 is a process diagram generally illustrating steps that may beperformed to create or maintain a remote profile that includesinformation about a calling device.

FIG. 9 is a process diagram generally illustrating steps that may beperformed to retrieve remote profile data about a calling device whenreceiving a call from the calling device on a receiving device.

FIG. 10 is a process diagram generally illustrating steps that may beperformed to facilitate the delivery of profile data to a receivingdevice about a calling device.

DETAILED DESCRIPTION

What follows is a detailed description of various techniques andmechanisms for profile sharing. Very generally stated, atelecommunications device and/or service are provided that enable a userto establish and maintain a profile which is then associated with theuser or the user's telecommunication device (the “calling device”). Theprofile is stored, for example, on a profile server that is incommunication with the telecommunications service provider. A receivingdevice receives a call from the calling device and is provided with theprofile during call set-up. Some or all of the profile is used inconnection with the incoming call on the receiving device. This generalconcept will now be described in greater detail in connection withcertain specific non-limiting embodiments.

Before proceeding, it will be helpful to define some terms that will beused while describing embodiments of the invention. Accordingly,throughout this patent document, the following terms shall have themeanings ascribed to them here:

The term “call” means any communication between two telecommunicationdevices, and is not limited to telephone calls. Rather, the term “call”will be used in the broadest sense and includes conventional telephonecalls, Voice Over IP (VOIP) calls, and may include any other message orcommunication between two devices, such as SMS messages, instantmessages, e-mail, and the like.

The term “announcement” or “call announcement” means a sensoryperceptible occurrence that is performed by a telecommunication deviceto indicate an incoming call. An announcement could be a media file(e.g., a sound or image file), a particular sequence of flashing orsteady lights, a vibration, textual or alphanumeric information or anyother sensory perceptible mechanism.

The term “calling device” means a telecommunications device thatoriginates an outbound call. The term calling device may be usedinterchangeably throughout this document with the terms “calling party,”“caller,” or “originating device.”

The term “receiving device” means a telecommunications device thatreceives an inbound call. The term receiving device may be usedinterchangeably throughout this document with the terms “called party,”“recipient,” or “receiving party.”

FIG. 1 is a functional block diagram of a system 100 implementing oneembodiment of the present invention. Shown in FIG. 1 are several mobiledevices that communicate with each other over a wireless communicationnetwork 122 that is administered by a service provider. Severaldifferent types of mobile devices may be connected to the wirelessnetwork, such as cellular phones (112, 118) or other mobile messagingdevices 120. Computing systems may also be connected to the wirelessnetwork, such as a laptop computer 116. A profile server 124 is alsoconnected to the wireless network and is accessible to devices coupledto the wireless network.

The wireless network 122 is coupled to a public wide area network 123,such as the Internet. Computing devices, such as a general purposecomputer 125, connected to the public wide area network 123 may haveaccess to other computing devices on both the public network 123 andpossibly the wireless network 122, such as the profile server 124, overa network bridging link 114. An alternate profile server 126 could beconnected to the public network 123 in addition to or in lieu of thefirst profile server 124.

In this particular implementation, one (or both) of the profile servers(124, 126) includes a profile store (128, 130) on which is stored aplurality of profiles. Each profile is maintained in correspondence withone or more of the mobile devices. The profile store 128 is described ingreater detail in conjunction with FIG. 4 below. Briefly stated, aprofile includes information about a calling party or device, such ascontact information, call announcement information and/or content,images, or the like. The profile is associated with the calling device,perhaps using the phone number or other identifier of the callingdevice. The information stored at the profile server 124 may or may notbe accessible by other users of the wireless network 122.

Generally stated, when a user makes a call from the calling device(e.g., cell phone 118) to a receiving device (e.g., mobile messagingdevice 120), the wireless network 122 retrieves the correspondingprofile from the profile server 124 and presents it to the receivingdevice during call setup. In this way, more information may be presentedto the receiving party to announce the incoming call. For example, ifthe originating party included an image in the profile, the image may bedisplayed on the receiving device in combination with the callannouncement, which enables the receiving device to identify the callerby picture even though the picture was not pre-installed on thereceiving device. In addition, contact information for the callingdevice may be easily communicated to the receiving device with little orno effort on the part of the receiving party.

FIG. 2 is a functional block diagram more specifically illustratingcomponents of a system 200 for sharing profile data between users ofmobile devices in a communications network. The components include acalling device 218 and a receiving device 220. The calling device 218and the receiving device 220 may be any telecommunications devices withat least rudimentary computing capability, such as cellular telephonesor mobile messaging devices. The two devices communicate over atelecommunications network, which in this particular example happens tobe a wireless network 222. It will be appreciated that many othercomponents and even other intervening communications networks may beincorporated within the wireless network 222, such as wired networkslike the Public Switched Telephone Network (PSTN). The wireless network222 is used in this description to generally indicate anytelecommunications infrastructure that can be used to enabletelecommunications devices to communicate.

A profile server 224 is connected to the wireless network 222 in somemanner. For example, the profile server 224 may be collocated with andcoupled to a component of the wireless network 222 such as a mobiletelephone switching office or the like. Alternatively, the profileserver 224 may be indirectly coupled to the wireless network 222 over awide area network or the like.

As mentioned above, the profile server 224 includes a profile store 228on which reside profiles for certain subscribers or users of thewireless network 222. In this particular implementation, the user of thecalling device 218 accesses the profile server 224 and creates a profile229 associated with that calling device 218. The calling device 218 mayaccess the profile server 224 by establishing a data call 201 over thewireless network 222 to support data communications between the callingdevice 218 and the profile server 224. Alternatively, the user mayaccess the profile server 224 using some other mechanism, such asanother computing device (not shown) coupled to the wireless network 222through a wide area network, like the Internet. In any event, the useraccesses the profile server 224 to create and maintain the profile 229in the profile store 228, and to associate that profile 229 with thecalling device 218.

Briefly stated, the profile 229 may include almost any information theuser desires to make available, such as contact information, a desiredringtone, an image, a brief message, or the like. Although any arbitraryinformation may be included, size limitations may be imposed to ensurethat the information can be delivered during call set-up. The sizelimitations may be based on the available bandwidth and latency of thenetwork over which the profile information will be retrieved (e.g.,wireless network 222). These size limitations may be eliminated inimplementations where the profile information is delivered outside ofcall set-up. One sample profile is illustrated in FIG. 4 and describedbelow.

The profile 229 may be associated with the calling device 218 using anyone or more of various mechanisms. For example, the profile 229 may beassociated with various identifiers of the calling device 218, such asthe phone number or mobile identification number (MIN), an electronicserial number (ESN), a mobile equipment identification number (MEID), orthe like. The association may be stored on the profile server 224 in adatabase, or perhaps in a subscriber database maintained by one or morecomponents of the wireless network 222.

In summary, the system 200 enables the user of the calling device 218 tocreate or modify a profile 229 on the profile store 228. The profile 229may then be made accessible by other devices, such as the receivingdevice 220, over the wireless network 222.

FIG. 3 is a functional block diagram illustrating the use of the system200 shown in FIG. 2 to provide profile data to the receiving device 220in conjunction with a call from the calling device 218. As above, theprofile server 224 includes the profile store 228 on which the user hascreated the profile 229. The profile 229 has also been associated withthe calling device 218, as described above. The profile server 224, andhence the profile store 228, is operatively coupled to the wirelessnetwork 222.

When a call 301 is made from the calling device 218 to the receivingdevice 220, components of the wireless network 222, such as one or moreswitching offices (not shown), receive and route the call 301 throughthe wireless network 222, including any intervening communicationsnetworks, to the receiving device 220.

In a network-based implementation, during call set-up, the wirelessnetwork 222 analyzes the call 301 to determine who the originating partyis (i.e., the calling device 218). This determination may be made usingcall data embedded in the call 301, such as the phone number, the ESN,or perhaps the MIN of the calling device 218. The wireless network 222may then retrieve the calling device's profile 229 from the profilestore 228 and pass at least a portion of the profile 229 to thereceiving device 220. The term “profile data” refers to any portion ofthe data stored in the profile 229 and retrieved for the purposesdiscussed in this document. “Profile data” may be all of the profile229, or any portion or portions of the profile 229 in any combination.

In this implementation, the profile data may be included in caller IDinformation transmitted in conjunction with the call 301, perhaps as anextension to the Multiple Data Message Format (MDMF) protocol, andtransmitted from the wireless network 222 to the receiving device 220.If an alternative protocol is used to set-up the call, the profileinformation could be included in whatever data package or packages areinitially transmitted to the receiving device 220 by the wirelessnetwork 222. When received, the receiving device 220 uses the profiledata in any appropriate manner, such as to announce the incoming call301 or to update the calling party's contact information stored on thereceiving device 220.

It should be appreciated that the wireless network 222 may firstdetermine if the receiving device 220 is subscribed to a service thatauthorizes remote profile announcements. For example, the serviceprovider responsible for the wireless network 222 may only provideprofile data to receiving devices 220 that are subscribed to an optionalservice or feature. This determination may be performed by a switchingoffice or the like (not shown).

In a device-based implementation, the wireless network 222 notifies thereceiving device 220 of the incoming call 301 in a substantiallyconventional manner. However, during call set-up the receiving device220 immediately initiates a data call 311, perhaps using an EVolutionData Optimized (EV-DO) wireless data network, to the profile server 224.This simultaneous data call 311 enables the receiving device 220 toconnect to the profile server 224 and retrieve profile data from theprofile 229 on the profile store 228.

With either of these implementations, the calling device 218 candetermine or influence how the incoming call 301 is announced on thereceiving device 220. For example, if a personal ringtone is stored inthe profile 229, that ringtone can be used to announce the incoming callon the receiving device 220. More specifically, using the data call 311,the wireless network 222 could “stream” the ringtone to the receivingdevice 220 to enable it to begin playing the ringtone immediately. Theservice could be configured such that the ringtone can be saved on thereceiving device 220, perhaps for a fee. In another example, an image,such as a picture of the calling party or an avatar of the callingparty's choosing, may be delivered to the receiving device 220 anddisplayed. In still another example, the user of the calling device 218could include contact information in the profile 229. Using this, thereceiving device 220 could be updated with current contact informationfor the calling party without any additional effort by the user of thereceiving device 220.

It should be noted that the profile data need not necessarily bedelivered during call set up. In some circumstances, such as the contactinformation example, the profile data could be delivered using the datacall 311 in the background while the original incoming call 301 is beingconducted. This may be useful if the profile data is not needed or usedto announce the incoming call 301, or if the profile data is just toolarge to be delivered during call set up. In the former case, theprofile data could be downloaded by the receiving device 220 and storedin an appropriate location while the voice call 301 is occurring. In thelatter case, the profile data could be downloaded by the receivingdevice 220 and, if related to call announcements, used to announcesubsequent calls from the calling device 218. In another alternative,the profile data could be downloaded to the receiving device 220 afterthe voice call has terminated, such as when the receiving device 220 isnormally idle.

FIG. 4 is a functional block diagram illustrating a profile store 428 onwhich resides one or more profiles 410, as envisioned by certainimplementations of the invention. As mentioned above, the profile store428 is maintained by a profile server (not shown) which is in operativecommunication with a telecommunications network.

Each profile, includes “profile data,” which may include any arbitrarydata that the user desires to make available to others. The profile 410may additionally include other information that the user does not wishto be made available to others. The profile data is envisioned to likelyinclude call announcements 412 and/or contact information 414. The callannouncements 412 may be media files, such as music or distinctive audiotones (commonly referred to as “ringtones”), that are rendered toannounce an incoming call. There are several different types of mediafiles in many different formats that could be used to identify incomingcalls. For instance, monophonic or polyphonic audio files could be usedin different formats, such as MIDI, CMX, RTTTL, AIFF, SMAF, PCM, MP3,WAV, and the like.

Although the call announcements 412 are described here as audio files,it will be appreciated that the call announcements 412 could be any typeof resource that includes description information for any perceptibletype of announcement. For instance, if the mobile device announcedincoming calls with distinctive vibratory announcements, each callannouncement 412 could include a different description of a vibration.Similarly, if the mobile device announced incoming calls withdistinctive flashing lights, the call announcements 412 could eachdescribe a distinct pattern of flashing or colored lights, or somecombination of the two. These are but examples and others will becomeapparent with routine experimentation.

The contact information 414 includes data that describes individuals orentities. Examples of the contact information 414 that may be stored inthe profile 410 include the name of the person with whom the profile 410is associated, the company that employs the person, the person'stelephone number and address, the person's e-mail address, and otherinformation.

The profile 410 may also include an image 416, which may be a picture ofthe person with whom the profile 410 is associated. The image 416 couldalso be a picture of any other person or thing that the person desires.The image 416 could also be a clipart image, such as an avatar or othericon that the person desires. Such clipart images are in common usage inconnection with electronic forums, bulletin boards, and instantmessaging services.

The profile 410 could also include any other data 418 that the userdesires to make available to others. For example, a brief textualmessage (or the like) could be included in the profile 410. An index 420is included with the profile 410 to uniquely distinguish the profile 410from other profiles on the profile store 428. The index 420 could be anyform of identifier.

The profile store 428 also includes, in this implementation, a profiletable 430 that maps calling party identifiers to indexes for theprofiles. The calling party identifiers may be any form of informationused to uniquely distinguish one calling device from another callingdevice, such as a phone number, MIN, ESN, MEID, or the like. The indexesare the particular indexes associated with each profile, such as index420. The profile table 430 associates the profiles with the particulartelecommunications devices that will be used to make calls.

FIG. 5 is a functional block diagram generally illustrating a samplemobile device 501, such as a cellular telephone, in whichimplementations of the invention are particularly applicable. The mobiledevice 501 may be any handheld computing device, such as a cellulartelephone, mobile messaging device, a personal digital assistant, aportable music player, a global positioning satellite (GPS) device, orthe like. Although described here in the context of a handheld computingdevice, it should be appreciated that implementations of the inventionmay have equal applicability in other areas, such as conventional wiredtelephone systems and the like.

In this example, the mobile device 501 includes a processor unit 504, amemory 506, a storage medium 513, and an audio unit 531. The processorunit 504 advantageously includes a microprocessor or a special-purposeprocessor such as a digital signal processor (DSP), but may in thealternative be any conventional form of processor, controller,microcontroller, or state machine.

The processor unit 504 is coupled to the memory 506, which isadvantageously implemented as RAM memory holding software instructionsthat are executed by the processor unit 504. In this embodiment, thesoftware instructions stored in the memory 506 include a remote profilemanager 511, a runtime environment or operating system 510, and one ormore other applications 512. The memory 506 may be on-board RAM, or theprocessor unit 504 and the memory 506 could collectively reside in anASIC. In an alternate embodiment, the memory 506 could be composed offirmware or flash memory.

The processor unit 504 is coupled to the storage medium 513, which maybe implemented as any nonvolatile memory, such as ROM memory, flashmemory, or a magnetic disk drive, just to name a few. The storage medium513 could also be implemented as any combination of those or othertechnologies, such as a magnetic disk drive with cache (RAM) memory, orthe like. In this particular embodiment, the storage medium 513 is usedto store data during periods when the mobile device 501 is powered offor without power. The storage medium 513 could be used to store contactinformation or call announcements, such as ringtones.

The mobile device 501 also includes a communications module 521 thatenables bidirectional communication between the mobile device 501 andone or more other computing devices. The communications module 521 mayinclude components to enable RF or other wireless communications, suchas a cellular telephone network, Bluetooth connection, wireless localarea network, or perhaps a wireless wide area network. Alternatively,the communications module 521 may include components to enable land lineor hard wired network communications, such as an Ethernet connection,RJ-11 connection, universal serial bus connection, IEEE 1394 (Firewire)connection, or the like. These are intended as non-exhaustive lists andmany other alternatives are possible.

The audio unit 531 is a component of the mobile device 501 that isconfigured to convert signals between analog and digital format. Theaudio unit 531 is used by the mobile device 501 to output sound using aspeaker 532 and to receive input signals from a microphone 533. Audibleannouncements of an incoming call can be created using the audio unit531 and the speaker 532. For instance, distinctive ringing noises can beplayed to announce an incoming call. Various musical notes or tunescould also be used.

Although incoming calls are announced audibly in this implementation,other mechanisms could also be employed. For example, a vibratorymechanism (not shown) could be used to announce calls by vibrating themobile device 501 in a unique manner for different callers. Or a systemof lights could be used that flash in a unique sequence or withdifferent colors. The breadth of the invention is envisioned toencompass announcements delivered using any sensory perceptiblemechanism or technique.

The remote profile manager 511 is a utility or service that isconfigured to evaluate an incoming call to identify identifyinginformation about the calling party. The remote profile manager 511 isfurther configured to initiate or accept a data call to or from a remoteprofile server using the communications module 521. Using the callidentifying information, the remote profile manager 511 is configured toretrieve profile data about the calling party from the remote profileserver.

The remote profile manager 511 may also cooperate with otherapplications 512 to handle or consume the profile data. For example, ifthe profile data includes a ringtone, the remote profile manager 511 mayhand that ringtone off to a component of the OS 510 that is responsiblefor announcing incoming calls. If the profile data includes contactinformation, the remote profile manager 511 may hand the profile dataoff to a contact manager (within the other applications 512) forinclusion in a local contact data store (on the storage medium 513).

FIG. 6 is a process diagram generally illustrating a sequence ofoperations performed by certain elements of a system to create andmaintain a remote profile. The particular elements involved in theprocess include a mobile device 650, a wireless network 655, and aprofile server 660. Each of these three elements may be similar inconfiguration and functionality to their counterparts described atlength above. The process begins at step 601.

At step 601, the mobile device 650 is used to create or modify alocally-stored profile. In this particular implementation, the mobiledevice 650 includes a data store or template that is used to build aprofile, allowing a user of the mobile device 650 to input arbitrarydata. For example, a default ringtone that should be used to announcecalls from the mobile device 650 may be stored in the profile. Certainadditional ringtones that should be used by particular other individualsto announce calls from the mobile device 650 may also be included.Contact information that describes the user of the mobile device 650 mayalso be included. A ‘signature’ of the profile could be stored inconjunction with the profile to aid in determining whether the profilehas changed. The ‘signature’ could be any information used to uniquelyidentify a particular state of the profile, such as a hash, a digest, atime stamp, or the like. This information can be used by a receivingdevice, as described below in conjunction with FIG. 7, to determinewhether to retrieve the profile in conjunction with a subsequent call.

At step 603, a data call is initiated and established between the mobiledevice 650 and the wireless network 655. In one particular embodiment,the data call may be established using an EV-DO technology that supportssimultaneous voice calls and data calls. Alternatively, an ordinary dataconnection between the mobile device 650 and the wireless network 655may be established.

At step 605, the mobile device 650 connects to the profile server 660over the data call just established. The connection could be made usingbrowser-based software or some other special purpose software residenton the mobile device. The connection may use a hypertext transfermechanism in combination with a packet-based protocol, such as HTTP overa TCP/IP connection, or any other transport protocol. In one example,the profile server 660 is identified by a Universal Resource Locator(URL) or Universal Resource Identifier (URI), and a user inputs the URLor URI to browser software which navigates to the profile server 660.The connection may additionally use an encrypted and secure version ofthe transport protocol to enhance security and data integrity.

At step 607, the mobile device 650 transmits the profile created at step601 to the profile server 660. In one example, the mobile device 650 maytransmit the profile by uploading it to the profile server 660 andeither creating a new profile or modifying an existing profile.Alternatively, the profile could be created or modified directly at theprofile server 660 without resort to first creating the profile at themobile device 650 locally. While connected to the profile server 660,the mobile device 650 may also alter other settings associated with theprofile. For example, the user may desire to attach certain privilegesor other authorizations to limit access to the profile.

At step 609, the data session between the mobile device 650 and theprofile server 660 is terminated. At step 611, the data call between themobile device 650 and the wireless network 655 is either disconnected orgoes dormant. The data call could either be disconnected manually, orperhaps as the result of a timeout event.

It should be appreciated that the process illustrated in FIG. 6 anddescribed here is but one option and other alternatives are possible.For example, rather than creating and maintaining the profile using themobile device 650, a user could create and maintain the profile using aconventional general purpose computer, perhaps connecting to the profileserver 660 over a conventional network, such as an intranet or theInternet.

Moreover, in certain embodiments the profile server 660 could beincluded as a portion of the mobile device 650 itself rather than on aseparate system. In such an alternative, as will be described more fullylater, the mobile device 650 could serve its profile data directly inconjunction with making calls to other receiving devices. Such analternative embodiment would therefore, of course, obviate anyoperations illustrated in FIG. 6 that relate to maintaining the profiledata in a separate location or uploading the profile data to theseparate location.

FIG. 7 is a process diagram generally illustrating a sequence ofoperations performed by certain elements of a system to retrieve aremote profile in response to an incoming call. The particular elementsinvolved in the process include a mobile device 750, a wireless network755, a profile server 760, and a receiving device 765. Each of thesefour elements may be similar in configuration and functionality to theircounterparts described at length above. The process begins at step 701.

At step 701, a voice call request is issued from the mobile device 750to the wireless network 755. The voice call request includes informationthat identifies the mobile device 750, such as the ESN and MIN of themobile device 750. In addition, the request includes the called number,meaning the phone number (or perhaps MIN) of the receiving device 765.

At step 703, the wireless network 755 notifies the receiving device 765of the incoming call request. The wireless network 755 passes the voicecall request to the receiving device 765 based on the called numberprovided by the mobile device 750. The voice call request passed to thereceiving device 765 may include identifying information, such as callerID information or similar, that identifies the mobile device 750. Incertain enhancements, the notification transmitted at this step couldinclude the signature of the profile that may have been created asdescribed above.

At step 704, the remote device 765 could search its local data storagefor information, such as an appropriate ringtone or contact information,to display in connection with the incoming call. For example, the remotedevice 765 may already have a particular announcement stored for use inconnection with incoming calls from the mobile device 750. If not, or ifthe remote device 765 is configured to check each time an incoming callarrives, then the process continues. In the case where a signature ofthe profile has been received, the remote device 765 could determine, inaddition to whether the profile is local, whether the local profile isthe most current.

At step 705, a data call is initiated and established between the remotedevice 765 and the wireless network 755. In one particular embodiment,the data call may be established using an EV-DO technology that supportssimultaneous voice calls and data calls. In an alternative where theprofile server 760 is embedded within the mobile device 750, then thedata call could effectively be established between the remote device 765and the originating mobile device 750. This alternative could includeestablishing a second data call (not shown) between the wireless network755 and the originating mobile device 750. It will be appreciated thatthe remaining steps described below have equal applicability even if theprofile server 760 is included in, or collocated with, the mobile device750. In still another alternative, the data call could be establishedbetween the remote device 765 and the originating mobile device 750 atan arbitrary or predetermined time that is not associated with anincoming voice call, such as periodically to update locally-storedcontact information.

At step 707, the receiving device 765 connects to the profile server 760over the data call just established. The connection could use ahypertext transfer mechanism in combination with a packet-basedprotocol, such as HTTP over a TCP/IP connection, or any other transportprotocol.

At step 709, the receiving device 765 issues a query to the profileserver 760 for the profile data. The receiving device 765 may identifythe profile of interest using the incoming phone number of the mobiledevice 750, or the like. In one enhancement, the query could includeinformation to make the data transfer more efficient. For example, ifone version of the profile data already exists at the receiving device750, it could possibly transmit the signature (e.g., a hash) of thelocal version of the profile data with the query. In this way, theprofile server 760 could use the signature to determine if any changeshave been made to the profile data at the profile server 760 since thelast time the receiving device 765 retrieved it.

At step 711, the profile server 760 responds to the receiving device 765by returning the profile data. In one example, if the profile dataincludes a call announcement like a ringtone, the profile server 760could immediately begin streaming the call announcement to the remotedevice 765. Alternatively, if the profile data includes contactinformation, the profile server 760 could transmit that contactinformation. In yet another alternative, the profile data could includean image, perhaps in multi-resolution format (e.g., JPEG2000 format). Inthat case, the profile server 760 could begin by transmitting the lowestresolution level of detail of the image while transmitting eachsubsequent level of detail up to the supportable resolution of theremote device 765. In this way, the remote device 765 could beginrendering the image sooner than if it had to wait for the entire fullresolution image.

At step 712, if appropriate, the profile data is used to announce theincoming call. Using the above examples, the ringtone could be played toannounce the call, the contact information could be used to identify thecaller, and/or the image could be used to display a likeness of thecaller (or other image).

At step 713, the receiving device 765 disconnects the data session withthe profile server 760. At step 715, the receiving device 765disconnects the data call with the wireless network 755 or the data callgoes dormant.

At step 717, the receiving device 765 accepts the incoming voice callfrom the mobile device 750, thus enabling voice (or other, e.g. video)communication between the user of the receiving device 765 and the userof the mobile device 750. At step 719, when the conversation between thetwo users is concluded, the voice call between the receiving device 765and the mobile device 750 is ended.

It should be noted that steps 713 and 715 do not necessarily need to beperformed in any particular order with respect to steps 717 and 719. Inother words, using certain technologies the data connection and thevoice call can be maintained simultaneously. Using such a technology, itwould not be necessary to terminate the data call before conducting thevoice call.

At step 720, the receiving device 765 may prompt to save the profiledata, such as the ringtone, contact information, or the like. In certainspecific implementations, the account associated with the remote device765 could be charged a fee for saving the profile data.

FIG. 8 is a process diagram generally illustrating steps that may beperformed by a process for making profile data available to receivingdevices. The process begins with a user of a communications devicecreating or modifying a profile intended to be shared over atelecommunications network. The process begins at step 810.

At step 810, a data connection is established with a profile server thatis accessible by a remote device over a telecommunications network. Thedata connection may be established using a mobile device with which theprofile is to be associated, or alternatively, the data connection maybe established using any computing device operatively coupled to theprofile server.

At step 820, the profile is created at the profile server. In thisimplementation, the profile is associated with a calling device andincludes profile data that may describe characteristics of the callingdevice, particular behavioral criteria intended for a receiving device,or any other arbitrary data.

At step 830, the telecommunications network is instructed to make theprofile data available to a remote device from the calling device. Inone example, the profile data may be made available to the remote devicein response to a call from the calling device to the remote device. Inother words, a call from the calling device constitutes implicitauthorization to the receiving device for access to the profile data.

FIG. 9 is a process diagram generally illustrating steps that may beperformed by a process for receiving profile data about a calling deviceat a receiving device. The process begins when a user of a callingdevice initiates a call, such as a voice call, to the receiving device.The process begins at step 910.

At step 910, call data associated with an incoming call is received atthe receiving device. The call data includes an identifier for thecalling device. Examples of the identifier include a phone number or MINand ESN for the calling device.

At step 920, a data session is initiated with a profile server. The datasession may be supported by a concurrent data call over thetelecommunications network. In one example, an EV-DO communicationstechnology may be used to support the data call.

At step 930, the profile server is queried for a profile associated withthe calling device. The identifier for the calling device may be used toidentify the profile of interest. The profile contains the profile data,which may include a call announcement, contact information, images, orthe like.

At step 940, the profile data is retrieved from the profile server. Inone example, the profile data may be streamed to the receiving device ina streaming audio format. In another example, the profile data may bedelivered to the receiving device as textual contact information, animage or avatar, or the like.

At step 950, the profile data is used in connection with the incomingcall. In one example, the profile data may be used to announce theincoming voice call, such as by playing the streaming audio file as aringtone. In addition, the profile data may be used to update contactinformation for the calling device stored on the receiving device.

FIG. 10 is a process diagram generally illustrating steps that may beperformed by a process for facilitating the delivery of profile dataabout a calling device to a receiving device. In one implementation, theprocess may be performed by components of a telecommunications network,such as a wireless network. The process begins at step 1010.

At step 1010, a request is received to establish a call from the callingdevice to the receiving device. The request could take the form of aconventional call request from the calling device that includes thecalled number, the calling number (e.g., the MIN for the callingdevice), and an ESN for the calling device.

At step 1020, the receiving device is notified of the call. In oneexample, the telecommunications network initiates the setup of the voicecall with the receiving device. The notification includes an identifierfor the calling device (e.g., the MIN/ESN pair for the calling device).

At step 1030, a request is received from the receiving device forprofile data associated with the calling device. The request may betransmitted over a concurrent data call with the telecommunicationsnetwork, and may include the identifier.

At step 1040, a profile corresponding to the identifier is accessed toretrieve the profile data. The profile may be stored on a profile serverthat is in operative communication with the telecommunications network,perhaps over a wide area network.

At step 1050, the profile data is returned to the receiving device,where it may be used in any appropriate manner such as to announce theincoming call or to update contact information on the receiving devicefor the calling device.

While the present invention has been described with reference toparticular embodiments and implementations, it should be understood thatthese are illustrative only, and that the scope of the invention is notlimited to these embodiments. Many variations, modifications, additionsand improvements to the embodiments described above are possible. Thesevariations, modifications, additions and improvements fall within thescope of the invention as detailed within the following claims.

1. A method for making profile data available to called subscriberdevices, comprising: establishing a data connection with a profileserver, the profile server being accessible by a called subscriberdevice over a telecommunications network; creating a profile at theprofile server, the profile including profile data, the profile beingassociated with a calling device; and authorizing the telecommunicationsnetwork to make the profile data available to the called subscriberdevice responsive to a query for the profile data at the profile serverfrom the called subscriber device.
 2. The method recited in claim 1,wherein the data connection is established over a wireless network. 3.The method recited in claim 1, wherein the data connection isestablished over a wired network.
 4. The method recited in claim 1,wherein the profile server resides in either the calling device or thecalled subscriber device.
 5. The method recited in claim 1, wherein thedata connection is established over a wide area network.
 6. The methodrecited in claim 1, wherein the profile data is made available to thecalled subscriber device in response to a call to the called subscriberdevice from the calling device.
 7. The method recited in claim 1,wherein the profile data is made available to the called subscriberdevice independent of a voice communication from the calling device tothe called subscriber device.
 8. The method recited in claim 1, whereinthe telecommunications network comprises a wireless communicationsnetwork.
 9. The method recited in claim 1, wherein the profile dataincludes information intended to be shared over the telecommunicationsnetwork.
 10. The method recited in claim 9, wherein the informationcomprises at least one of a call announcement, contact information,images, and a message.
 11. A method for receiving profile data about acalling device at a called subscriber device, comprising: receiving calldata associated with an incoming call, the call data including anidentifier for the calling device; initiating a data session between thecalled subscriber device and a profile server; querying, from the calledsubscriber device, the profile server for a profile associated with thecalling device using the identifier, the profile containing the profiledata; retrieving the profile data from the profile server; and using theprofile data in connection with the incoming call.
 12. The methodrecited in claim 11, wherein the steps of initiating the data session,querying the profile server, and retrieving the profile data areexecuted by a component of a telecommunications network.
 13. The methodrecited in claim 12, wherein the component comprises the calledsubscriber device.
 14. The method recited in claim 11, wherein theidentifier comprises a selected one or more of a phone number, a mobileidentification number, an electronic serial number, and/or a mobileequipment identification number.
 15. The method recited in claim 11,wherein the profile data includes at least one of a call announcement,contact information, images, and a message.
 16. The method recited inclaim 15, wherein the call announcement comprises an audio file, andwherein retrieving the profile data comprises receiving the audio fileas streaming data.
 17. The method recited in claim 11, wherein using theprofile data comprises receiving streaming audio data and announcing theincoming call using the streaming audio data.
 18. The method recited inclaim 11, further comprising, prompting to save the profile data on thecalled subscriber device.
 19. The method recited in claim 18, whereinprompting to save the profile data occurs upon completion of theincoming call.
 20. The method recited in claim 11, wherein using theprofile data comprises updating contact information about the callingdevice at the called subscriber device.
 21. A method for facilitatingthe delivery of profile data about a calling device to a calledsubscriber device, comprising: receiving a request to establish a callfrom the calling device to the called subscriber device; notifying thecalled subscriber device about the call, the notification including anidentifier for the calling device; receiving a request from the calledsubscriber device for profile data associated with the calling devicebased on the identifier; accessing a profile corresponding to theidentifier to retrieve the profile data; and returning the profile datato the called subscriber device.
 22. The method recited in claim 21,wherein the identifier comprises a selected one or more of a phonenumber, a mobile identification number, an electronic serial number,and/or a mobile equipment identification number.
 23. The method recitedin claim 21, wherein the profile data includes at least one of a callannouncement, contact information, images, and a message.
 24. The methodrecited in claim 23, wherein the call announcement comprises an audiofile, and wherein returning the profile data comprises streaming theaudio file to the called subscriber device.
 25. The method recited inclaim 21, wherein accessing the profile comprises establishing aconnection to a profile server and querying the profile server for theprofile data.
 26. The method recited in claim 21, wherein returning theprofile data comprises transmitting contact information about thecalling device to the called subscriber device.
 27. The method recitedin claim 21, wherein returning the profile data comprises transmitting amessage to the called subscriber device.
 28. The method recited in claim21, wherein returning the profile data comprises transmitting an imageto the called subscriber device.
 29. The method recited in claim 21,further comprising determining that the called subscriber device isauthorized to retrieve the profile data based on subscriptioninformation.
 30. The method recited in claim 21, wherein the profiledata includes a call announcement specifically associated with thecalled subscriber device.
 31. The method recited in claim 30, whereinthe profile further comprises another call announcement associated withanother called subscriber device.
 32. The method recited in claim 21,wherein the request from the called subscriber device is received over aconcurrent data call.
 33. A called subscriber device configured tocommunicate with a calling device comprising: a communications modulefor communicating with a wireless network; a storage medium for storingprofile data; a processor for executing computer code; and a memoryreadable by the processor and including executable instructionsconfigured to cause the processor to: receive call data associated withan incoming call, the call data including an identifier for the callingdevice; initiate a data session between the called subscriber device anda profile server over the wireless network; query, from the calledsubscriber device, the profile server for a profile associated with thecalling device using the identifier, the profile containing the profiledata; retrieve the profile data from the profile server using the datasession; and use the profile data in connection with the incoming call.34. The device recited in claim 33, wherein the identifier comprises aselected one or more of a phone number, a mobile identification number,an electronic serial number, and/or a mobile equipment identificationnumber.
 35. The device recited in claim 33, wherein the profile dataincludes at least one of a call announcement, contact information,images, and a message.
 36. The device recited in claim 35, wherein thecall announcement comprises an audio file, and wherein the profile datais retrieved as streaming audio data.
 37. The device recited in claim33, wherein the profile data is used to announce the incoming call. 38.The device recited in claim 33, wherein the profile data is used toupdate locally stored contact information for the calling device.
 39. Asystem for facilitating the delivery of profile data to a calledsubscriber device, the system comprising: a server including acommunications module for communicating with a calling device and thecalled subscriber device; a storage medium for storing a profileincluding profile data; a processor for executing computer code; and amemory containing computer-executable instructions which, when executedby the processor, are operative to: receive a request to establish acall from the calling device to the called subscriber device; notify thecalled subscriber device about the call, the notification including anidentifier for the calling device; receive a request from the calledsubscriber device for profile data associated with the calling devicebased on the identifier; access a profile corresponding to theidentifier to retrieve the profile data; and return the profile data tothe called subscriber device.
 40. A device for announcing an incomingcall on a called subscriber device, comprising: means for receiving calldata associated with an incoming call; means for analyzing the call datato determine whether a particular call announcement has been requested;means for determining if the requested call announcement resides locallyon the called subscriber device if the particular call announcement hasbeen requested; and means for announcing the call using the requestedcall announcement if the requested call announcement does residelocally.
 41. A system for facilitating the delivery of profile dataabout a calling device to a called subscriber device, comprising: meansfor receiving a request to establish a call from the calling device tothe called subscriber device; means for notifying the called subscriberdevice about the call, the notification including an identifier for thecalling device; means for receiving a request from the called subscriberdevice for profile data associated with the calling device based on theidentifier; means for accessing a profile corresponding to theidentifier to retrieve the profile data; and means for returning theprofile data to the called subscriber device.
 42. A computer-readablestorage medium encoded with computer-executable instructions forreceiving profile data about a calling device at a called subscriberdevice, the instructions comprising: receiving call data associated withan incoming call, the call data including an identifier for the callingdevice; initiating a data session between the called subscriber deviceand a profile server; querying, from the called subscriber device, theprofile server for a profile associated with the calling device usingthe identifier, the profile containing the profile data; retrieving theprofile data from the profile server; and using the profile data inconnection with the incoming call.
 43. A computer-readable storagemedium encoded with computer-executable instructions for facilitatingthe delivery of profile data about a calling device to a calledsubscriber device, the instructions comprising: receiving a request toestablish a call from the calling device to the called subscriberdevice; notifying the called subscriber device about the call, thenotification including an identifier for the calling device; receiving arequest from the called subscriber device for profile data associatedwith the calling device based on the identifier; accessing a profilecorresponding to the identifier to retrieve the profile data; andreturning the profile data to the receiving device.
 44. The method ofclaim 11, wherein the querying is performed before the called subscriberdevice accepts and/or answers the incoming call.